/**
 * 项目示例-列表综合搜索
 * Date 2023-5-25 09:33:56
 * {
 *   label: '', 筛选项名称
 *   prop: '', 筛选项字段
 *   type: '', 组件类型（'input' | 'select' | 'inputNumber' | 'cascader' | 'datePicker' | 'timePicker' | 'timeSelect' | 'treeSelect' | 'checkbox'）
 *   defaultValue: '', 筛选项默认值（不写默认undefined）
 *   inputProps: {}, 过滤组件属性，跟`ElementPlus`对应组件的`#Attributes`相同
 *   events: {} 仅支持change事件
 * }
 */
import type { FilterItem } from '@/components/FilterBar/types'

export const exampleOptions: FilterItem[] = [
  {
    label: '巡查项目',
    prop: 'project',
    type: 'select',
    defaultValue: '',
    inputProps: {
      options: [
        { label: '全部', value: '' },
        { label: '触发联动', value: '1' }
      ]
    },
    events: {
      change: (value, evt) => {
        // 筛选联动示例
        evt.setFieldsValue({ name: '测试计划' })
        evt.setOptions('state', [
          { label: '全部', value: '' },
          { label: '有效', value: '1' },
          { label: '无效', value: '2' }
        ])
      }
    }
  },
  {
    label: '计划名称',
    prop: 'name',
    type: 'input',
    inputProps: {
      clearable: true,
      placeholder: '请输入计划名称'
    }
  },
  {
    label: '状态',
    prop: 'state',
    type: 'select',
    defaultValue: '',
    inputProps: {
      options: [
        { label: '全部', value: '' }
      ]
    }
  },
  {
    label: '计数',
    prop: 'count',
    type: 'inputNumber',
    inputProps: {
      'controls-position': 'right'
    }
  },
  {
    label: '日期区间',
    prop: 'date1',
    type: 'datePicker',
    defaultValue: [],
    inputProps: {
      type: 'daterange',
      'value-format': 'YYYY-MM-DD',
      'start-placeholder': '开始时间',
      'end-placeholder': '结束时间',
      'range-separator': '至'
      
    }
  },
  {
    label: '单个日期',
    prop: 'date2',
    type: 'datePicker',
    inputProps: {
      type: 'date',
      'value-format': 'YYYY-MM-DD',
      placeholder: '请选择日期'
    }
  },
  {
    label: '任意时间',
    prop: 'time1',
    type: 'timePicker',
    inputProps: {
      'value-format': 'hh-mm-ss',
      placeholder: '请选择时间'
    }
  },
  {
    label: '固定时间',
    prop: 'time2',
    type: 'timeSelect',
    inputProps: {}
  },
  {
    label: '级联选择',
    prop: 'selection',
    type: 'cascader',
    defaultValue: [],
    inputProps: {
      options: [
        {
          value: 'guide',
          label: 'Guide',
          children: [
            {
              value: 'disciplines',
              label: 'Disciplines'
            }
          ]
        }
      ]
    }
  },
  {
    label: '树形选择',
    prop: 'tree',
    type: 'treeSelect',
    inputProps: {
      'default-expand-all': true,
      data: [{
        value: '1',
        label: 'Level one 1',
        children: [
          {
            value: '1-1',
            label: 'Level two 1-1'
          }
        ]
      }]
    }
  },
  {
    label: '多选框',
    prop: 'checked',
    type: 'checkbox',
    defaultValue: [],
    inputProps: {
      showCheckAll: true,
      options: [
        { label: '选项一', value: 1 },
        { label: '选项二', value: 2 },
        { label: '选项三', value: 3 }
      ]
    }
  }
]
